/*
 *  Thesis.cpp
 *  Thesis
 *
 *  Created by Hamza SHAWY on 20/10/07.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */

#include "Report.h"
#include "Thesis.h"

 #include <iostream>
 #include <iomanip>
 
 using std::cout;
 using std::endl;



/* Definition of the default constructor  "Thesis" of the class "Thesis" */ 
    Thesis::Thesis( ) : Report (), Degree ("< undefined yet >"), Supervisor ("< undefined yet >")
	{} // end Thesis default constructor

/* Definition of the regular constructor  "Thesis"  */     
	Thesis::Thesis(int id, int year, int nPages, string author, string title, string inst, string dep, string super, string deg ) : Report (-1, -1, inst, dep,"< undefined yet >","< undefined yet >" ), Degree(deg), Supervisor(super) 
	{}// end Thesis regular constructor
															  
/*  Definition of the dedstructor  "~Thesis" of the class "Thesis"  */ 
    Thesis::~Thesis()    
	{} // end Thesis destructor	 

/*  Definition of the method "getSupervisor" of the class "Thesis"  */    
    string Thesis::getSupervisor() const
	  {
        return Supervisor ; // returns the supervisor of the thesis
	  } // end function getSupervisor
	  
/*  Definition of the method "getNumberOfPages" of the class "Thesis"  */    
    int Thesis::getNumberOfPages() const
	{
		return NumberOfPages;
	}

/*  Definition of the method "getDegree" of the class "Thesis"  */    
    string Thesis::getDegree() const
	{
		return Degree;
	}
		  
/*  Definition of the method "print" of the class "Thesis"	*/																																																																								  
	void Thesis::print()  //prints a string representation of this report consisting of the departmentand the institution concerned 
	  {
        Reference :: print(); //  This member function overrides the one defined in the class Thesis.
		cout << "         * The Technical Thesis is also specified by its : "<< endl;
		cout <<  "						5) Supervisor who is : "<< getSupervisor()<<endl;
		cout <<  "						6) Degree which is : "<< getDegree()<<endl;
		cout <<  "						7) Number of pages which is : "<< getNumberOfPages()<<endl;
	  } // end function print	 

	
/*  Definition of the member function "setSupervisor" of the class "Thesis" */     
    void Thesis::setSupervisor( string super  )  // Sets the thesis's supervisor name                
    {                                                           
       Supervisor = super ;                     
	} // end function setSupervisor

/*  Definition of the member function "setSupervisor" of the class "Thesis" */     
    void Thesis::setDegree( string deg  )  // Sets the thesis's degree                
    {                                                           
       Degree = deg ;                     
	} // end function setDegree

/*  Definition of the member function "setNumberOfPages" of the class "Thesis" */     
    void Thesis::setNumberOfPages( int nPages  )  // Sets the number of pages                
    {                                                           
       NumberOfPages = nPages ;                     
	} // end function setNumberOfPages
        
        
	

	
